/*
	libxbn is a small and tiny xml binary node
	Copyright (C) 2010  Thomas Kraus (thomentor@gmx.de)

	This library is free software; you can redistribute it and/or modify it
	under the terms of the GNU Lesser General Public License as published by
	the Free Software Foundation; either version 2.1 of the License, or
	(at your option) any later version.

	This library is distributed in the hope that it will be useful, but
	WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
	or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
	 License for more details.

	You should have received a copy of the GNU Lesser General Public License
	along with this library; if not, write to the Free Software Foundation,
	Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
*/
#include "xslt_plugins/xbn_xslt_plugins_1_0.h"
#include "xbn_xpath.h"


xsltplugin_xsl_include::xsltplugin_xsl_include( )
{
	name = "xsl:include";
	min_parameter=1;
	max_parameter=1;
	/*
The <xsl:include> element is a top-level element that includes the contents of one style sheet into another.

Note: An included style sheet has the same precedence as the including style sheet.

Note: This element must appear as a child node of <xsl:stylesheet> or <xsl:transform>.

	  href	URI	Required. Specifies the URI of the style sheet to include
	  */
	addParameter("href",	false,	"URI");
}

bool xsltplugin_xsl_include::testUnit()
{
	return false;
}

bool xsltplugin_xsl_include::operator() (xbn_state &state, xbn_xslt *p_xbn_xslt )
{
	p_xbn_xslt->raiseError( name+" not implemented yet", &state, __FILE__, __LINE__ );
	return false;
}

//----------------------------------------------------------------------------------------------------------------------

xsltplugin_xsl_import::xsltplugin_xsl_import( )
{
	name = "xsl:import";
	min_parameter=1;
	max_parameter=1;
	/*
The <xsl:import> element is a top-level element that is used to import the contents of one style sheet into another.

Note: An imported style sheet has lower precedence than the importing style sheet.

Note: This element must appear as the first child node of <xsl:stylesheet> or <xsl:transform>.

	  href	URI	Required. Specifies the URI of the style sheet to include
	  */
	addParameter("href",	false,	"URI");
}

bool xsltplugin_xsl_import::testUnit()
{
	return false;
}

bool xsltplugin_xsl_import::operator() (xbn_state &state, xbn_xslt *p_xbn_xslt )
{
	p_xbn_xslt->raiseError( name+" not implemented yet", &state, __FILE__, __LINE__ );
	return false;
}

//----------------------------------------------------------------------------------------------------------------------

xsltplugin_xsl_apply_imports::xsltplugin_xsl_apply_imports()
{
	name = "xsl:apply-imports";
	min_parameter=0;
	max_parameter=0;
/*
The <xsl:apply-imports> element applies a template rule from an imported style sheet.

Template rules in imported style sheets have lower precedence than template rules in main style sheets.
The <xsl:apply-imports> is used when we want to use a template rule from the imported style sheet rather
than an equivalent rule in the main style sheet.
  */
}

bool xsltplugin_xsl_apply_imports::testUnit()
{
	return false;
}

bool xsltplugin_xsl_apply_imports::operator() (xbn_state &state, xbn_xslt *p_xbn_xslt )
{
	p_xbn_xslt->raiseError( name+" not implemented yet", &state, __FILE__, __LINE__ );
	return false;
}

